|
Программируем по-русски
|
Основная задача Глагола — дать человеку возможность воплощать свои мысли на языке, близком к его родному языку. Издатель Глагола
|
(******************************************************************************) (**) ОТДЕЛ ПроСВект+; (****************************************************************************** * НАЗНАЧЕНИЕ: * нахождение тех собственных векторов квадратной матрицы, которые * соответствуют вещественным собственным значениям * * ПРИМЕЧАНИЯ: * Исходная матрица записана в файле "ПроМатр5.дан". * В этом файле 1-я строка содержит размер матрицы (строк и столбцов), * а последующие строки содержат значения элементов матрицы. ******************************************************************************) ИСПОЛЬЗУЕТ Вект ИЗ "...\Отделы\Числа\", Матр ИЗ "...\Отделы\Числа\", Собств ИЗ "...\Отделы\Числа\", МатрВВ ИЗ "...\Отделы\Числа\", Читать ИЗ "...\Отделы\Обмен\", Вывод ИЗ "...\Отделы\Обмен\"; (******************************************************************************) ЗАДАЧА Голова; ПОСТ TOL = 1.D-6; (* точность для вычислений с. векторов *) ПЕР п:Читать.Поток; М,М1:Матр.Доступ; (* исходная и запасная матрица *) в:Вект.Доступ; (* с. вектора *) сзВещ,сзМнм:Вект.Доступ; i,n:ЦЕЛ; УКАЗ п:=МатрВВ.ОткрытьПоток("ПроМатр5.дан"); М:=МатрВВ.ЧитатьМатр(п); Читать.Закрыть(п); n:=РАЗМЕР(М^); СОЗДАТЬ(сзВещ,n); СОЗДАТЬ(сзМнм,n); СОЗДАТЬ(в,n); СОЗДАТЬ(М1,n,n); Матр.Списать(М^,М1^); Вывод.Цепь("^Исходная матрица:^"); МатрВВ.ВыводМатр("%8.4f",М^); ЕСЛИ Собств.Значения(М^,сзВещ^,сзМнм^) = 0 ТО Вывод.Цепь("^Действительная часть собственных значений:^"); МатрВВ.ВыводВект("%8.4f",сзВещ^); Вывод.Цепь("Мнимая часть собственных значений:^"); МатрВВ.ВыводВект("%8.4f",сзМнм^); ОТ i:=0 ДО n-1 ВЫП ЕСЛИ сзМнм[i] = 0 ТО Вывод.ЧВещ("^Действительное собственное значение: %8.4f^",сзВещ[i],0,0,0); ЕСЛИ Собств.Вектор(М^,сзВещ[i],TOL,в^) = 0 ТО Вывод.Цепь("Соответствующий собственный вектор:^"); МатрВВ.ВыводВект("%8.4f",в^); ИНАЧЕ Вывод.Цепь("Нет схождения!^") КОН КОН КОН ИНАЧЕ Вывод.Цепь("^Нет схождения!^") КОН КОН Голова; (******************************************************************************) УКАЗ Голова КОН ПроСВект. ▲ Вопросы, замечания и предложения высылайте на atimopheyev@yahoo.com или Издателю Глагола:
|
|